function getStmp(){return (new Date()).getTime();}
function showInfo(msg){if(msg==''||msg==undefined){ msg='\u6570\u636E\u5DF2\u4FDD\u5B58' }	 
$.messager.show({title:'\u63D0\u793A', msg:msg, timeout:2000, showType:'slide'});//slide/show
}
function showInfoCenter(msg){if(msg==''||msg==undefined){ msg='\u6570\u636E\u5DF2\u4FDD\u5B58' }	 
	$.messager.show({
		title:'\u63D0\u793A',
		msg:msg,
		timeout:3000,showType:'slide',
		showType:'fade',
		style:{
			right:'',
			bottom:''
		}
	});
}
function showInfoTopCenter(msg){if(msg==''||msg==undefined){ msg='\u6570\u636E\u5DF2\u4FDD\u5B58' }	 
	$.messager.show({
		title:'\u63D0\u793A',
		msg:msg,
		timeout:3000,showType:'slide',
		showType:'fade',
		style:{
					right:'',
					top:document.body.scrollTop+document.documentElement.scrollTop,
					bottom:''
				}
	});
}
function openWin(_t,_u){	
	var _h=$(window).height();
	var _w=$(window).width();
	 openWin2(_t,_u,_w,_h);
}		
function openWin2(_t,_u,_w,_h){
	if(_h==0||_h==""){
		_h= $(window).height();
	}
	var tt=($(window).height()-_h)*0.5;
	var ll=($(window).width()-_w)*0.5;
	closeWindow();
	$('#innerFramWindow').window({//
		onBeforeClose:function(){blank();},shadow:true,top:tt,left:ll,
		closed:true,modal:true,collapsible:false,minimizable:false,maximizable:true,draggable:true,title:_t,width:_w,height:_h
	});
	$("#innerWinFram").attr('src',_u);
	$('#innerFramWindow').window('open');
}
function openWin3(_id,_t){	
	var _h=$(window).height();
	var _w=$(window).width();
	
	var tt=($(window).height()-_h)*0.5;
	var ll=($(window).width()-_w)*0.5;
	$('#'+_id).window({//
		onBeforeClose:function(){blank();},shadow:true,top:tt,left:ll,
		closed:true,modal:true,collapsible:false,minimizable:false,maximizable:true,draggable:true,title:_t,width:_w,height:_h
	});
	$('#'+_id).window('open');
}

function openWin3(_id,_t,_w,_h){
	var tt=($(window).height()-_h)*0.5;
	var ll=($(window).width()-_w)*0.5;
	$('#'+_id).window({//
		onBeforeClose:function(){blank();},shadow:true,top:tt,left:ll,
		closed:true,modal:true,collapsible:false,minimizable:false,maximizable:true,draggable:true,title:_t,width:_w,height:_h
	});
	$('#'+_id).window('open');
}

function openWin3(_id,_t,_w,_h,_tt,_ll){
	$('#'+_id).window({//
		onBeforeClose:function(){blank();},shadow:true,top:_tt,left:_ll,
		closed:true,modal:true,collapsible:false,minimizable:false,maximizable:true,draggable:true,title:_t,width:_w,height:_h
	});
	$('#'+_id).window('open');
}
function closeWindow(){$('#innerFramWindow').window('close');}
function closeParentWindow(){parent.closeWindow();}
function progressing(){
	var win = $.messager.progress({
		title:'Waiting......', msg:'Sending......'
	});
	//setTimeout(function(){
	//	$.messager.progress('close');
	//},50000)
}

function progressed(){
	$.messager.progress('close');
}
function refreshYouTab(_tab){
	var tab = $('#'+_tab).tabs('getSelected');  // get selected panel
	$('#'+_tab).tabs('update', { tab: tab,options: { } });
}
function closeWindow(){
	$('#innerFramWindow').window('close');			
}
function blank(){
	$("#innerWinFram").attr('src','');
}
function clearDataGridById(___datagrid){
	 $('#'+___datagrid).datagrid('selectAll');
	 var rows =$('#'+___datagrid).datagrid('getSelections');
		if(rows.length>0){
			for(var i= rows.length-1; i>=0; i--){
		        var index = $('#'+___datagrid).datagrid('getRowIndex', rows[i]);
		        $('#'+___datagrid).datagrid('deleteRow', index);
			}
		}
}
function ava(_v){
	if(_v.AV=='N'){
		alert("SESSION LOST!");	
		return false;
	}
	return true;
}
function isNUM(obj){
if(obj.val()=="") return;
	if (/^\d+$/.test(obj.val()))    
    {    
       return true;    
    }     
    else     
    {       
	    obj.focus();
		obj.val(""); 
       return false;    
    }
} 

function myformatter(date){
    var y = date.getFullYear();
    var m = date.getMonth()+1;
    var d = date.getDate();
    return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
}

function myparser(s){
    if (!s) return new Date();
        var ss = (s.split('-'));
        var y = parseInt(ss[0],10);
        var m = parseInt(ss[1],10);
        var d = parseInt(ss[2],10);
        if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
            return new Date(y,m-1,d);
        } else {
            return new Date();
        }
}

//ɾ���������˵Ŀո�
function trim(str){
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
//ɾ����ߵĿո�
function ltrim(str){
    return str.replace(/(^\s*)/g,"");
}
//ɾ���ұߵĿո�
function rtrim(str){
    return str.replace(/(\s*$)/g,"");
}

/**
 * format date to YYYY-MM-dd mm:ss format string
 */
function formatDate(d) {
    return d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
}


/**
 * parse date string YYYY-MM-dd to date
 */
function parseDate(datestr) {
    var parts = datestr.split('-');
    return new Date(parts[0], parts[1] - 1, parts[2])
}


/**
 * n = 1 means tomorrow n = -1 means yestoday
 */
function rollDay(d, n) {
    return new Date(d - 0 + n * 86400000);
}

function getElementsByClassName(n) { 
    var el = [],
        _el = document.getElementsByTagName('*');
    for (var i=0; i<_el.length; i++ ) {
       if (_el[i].className == n ) {
           el[el.length] = _el[i];
        }
   }
   return el;
}


//validate mobile
function validateMobile(mobile) {
	if (mobile == null || mobile == '') {
		$.messager.alert('提示', '手机号码为空', 'info');
		return false;
	}

	var regex = /^(0?1[345678])[0-9]{9}$/;
	if (!regex.test(mobile)) {
		$.messager.alert('提示', '手机号码格式不正确,请重新输入', 'info');
		return false;
	}
	return true;
}

//validate email
function validateEmail(email) {
	if (email == null || email == '') {
		$.messager.alert('提示', '邮件地址为空', 'info');
		return false;
	}

	var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!regex.test(email)) {
		$.messager.alert('提示', '邮件地址格式不正确,请重新输入', 'info');
		return false;
	}
	return true;
}

/*
 * Author:yufulong Blog:http://www.xiaoxiaozi.com
 */
var vcity = {
	11 : "北京",
	12 : "天津",
	13 : "河北",
	14 : "山西",
	15 : "内蒙古",
	21 : "辽宁",
	22 : "吉林",
	23 : "黑龙江",
	31 : "上海",
	32 : "江苏",
	33 : "浙江",
	34 : "安徽",
	35 : "福建",
	36 : "江西",
	37 : "山东",
	41 : "河南",
	42 : "湖北",
	43 : "湖南",
	44 : "广东",
	45 : "广西",
	46 : "海南",
	50 : "重庆",
	51 : "四川",
	52 : "贵州",
	53 : "云南",
	54 : "西藏",
	61 : "陕西",
	62 : "甘肃",
	63 : "青海",
	64 : "宁夏",
	65 : "新疆",
	71 : "台湾",
	81 : "香港",
	82 : "澳门",
	91 : "国外"
};

checkCard = function(card) {
	// 校验长度，类型
	if (isCardNo(card) === false) {
		$.messager.alert('提示', "您输入的身份证号码不正确，请重新输入", 'info');
		return false;
	}
	// 校验生日
	if (checkBirthday(card) === false) {
		$.messager.alert('提示', "您输入的身份证号码生日不正确,请重新输入", 'info');
		return false;
	}
	return true;
};

// 检查号码是否符合规范，包括长度，类型
isCardNo = function(card) {
	// 身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X
	var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
	if (reg.test(card) === false) {
		return false;
	}

	return true;
};

// 取身份证前两位,校验省份
checkProvince = function(card) {
	var province = card.substr(0, 2);
	if (vcity[province] == undefined) {
		return false;
	}
	return true;
};

// 检查生日是否正确
checkBirthday = function(card) {
	var len = card.length;
	// 身份证15位时，次序为省（3位）市（3位）年（2位）月（2位）日（2位）校验位（3位），皆为数字
	if (len == '15') {
		var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
		var arr_data = card.match(re_fifteen);
		var year = arr_data[2];
		var month = arr_data[3];
		var day = arr_data[4];
		var birthday = new Date('19' + year + '/' + month + '/' + day);
		return verifyBirthday('19' + year, month, day, birthday);
	}
	// 身份证18位时，次序为省（3位）市（3位）年（4位）月（2位）日（2位）校验位（4位），校验位末尾可能为X
	if (len == '18') {
		var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
		var arr_data = card.match(re_eighteen);
		var year = arr_data[2];
		var month = arr_data[3];
		var day = arr_data[4];
		var birthday = new Date(year + '/' + month + '/' + day);
		return verifyBirthday(year, month, day, birthday);
	}
	return false;
};

// 校验日期
verifyBirthday = function(year, month, day, birthday) {
	var now = new Date();
	var now_year = now.getFullYear();
	// 年月日是否合理
	if (birthday.getFullYear() == year && (birthday.getMonth() + 1) == month
			&& birthday.getDate() == day) {
		// 判断年份的范围（3岁到100岁之间)
		var time = now_year - year;
		if (time >= 3 && time <= 100) {
			return true;
		}
		return false;
	}
	return false;
};

// 校验位的检测
checkParity = function(card) {
	// 15位转18位
	card = changeFivteenToEighteen(card);
	var len = card.length;
	if (len == '18') {
		var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8,
				4, 2);
		var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3',
				'2');
		var cardTemp = 0, i, valnum;
		for (i = 0; i < 17; i++) {
			cardTemp += card.substr(i, 1) * arrInt[i];
		}
		valnum = arrCh[cardTemp % 11];
		if (valnum == card.substr(17, 1)) {
			return true;
		}
		return false;
	}
	return false;
};

// 15位转18位身份证号
changeFivteenToEighteen = function(card) {
	if (card.length == '15') {
		var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8,
				4, 2);
		var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3',
				'2');
		var cardTemp = 0, i;
		card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);
		for (i = 0; i < 17; i++) {
			cardTemp += card.substr(i, 1) * arrInt[i];
		}
		card += arrCh[cardTemp % 11];
		return card;
	}
	return card;
};

// 将date类型时间转换成字符串
	function formatterdate(val, row) {
		if (val != null) {
			var date = new Date(val);
			var mon = date.getMonth() + 1;
			var time = date.getDate();
			var hour = date.getHours();
			var minute = date.getMinutes();
			var second = date.getSeconds();
			if(mon<10) {
				mon = '0' + mon;
			}
			if(time<10) {
				time = '0' + time;
			}
			if(hour<10) {
				hour = '0' + hour;
			}
			if(minute<10) {
				minute = '0' + minute;
			}
			if(second<10) {
				second = '0' + second;
			}
			return date.getFullYear() + '-' + mon + '-' + time + ' ' + hour + ':' + minute + ':' + second;
		}
	}